package cc.rengu.igas.bomp.facade;

import cc.rengu.igas.bomp.facade.request.*;
import cc.rengu.igas.bomp.facade.response.*;
import cc.rengu.igas.bomp.facade.result.Result;

public interface BompTermManageService {

    /**
     * 查询母POS机构列表
     *
     * @param request 请求
     * @return 返回
     */
    Result<MPOSInstListQueryResponse> mPOSInstListQuery(MPOSInstListQueryRequest request);

    /**
     * 注册终端设备
     *
     * @param request 请求
     * @return 返回
     */
    Result<RegisterTermResponse> registerTerm(RegisterTermRequest request);

    /**
     * 生成终端装机验证码
     *
     * @param request 请求
     * @return 返回
     */
    Result<GeneratorTermValidCodeResponse> generatorTermValidCode(GeneratorTermValidCodeRequest request);

    /**
     * 商户终端信息查询
     *
     * @param request 请求
     * @return 商户终端信息
     */
    Result<MchntTermInfoQueryResponse> mchntTermInfoQuery(MchntTermInfoQueryRequest request);

    /**
     * 商户终端信息更新
     *
     * @param request 请求
     * @return 商户终端信息更新结果
     */
    Result<MchntTermInfoUpdateResponse> mchntTermInfoUpdate(MchntTermInfoUpdateRequest request);

    /**
     * 终端信息报备及更新
     *
     * @param request 请求
     * @return 终端信息报备/更新结果
     */
    Result<TermInfoReportOrUpdateResponse> termInfoReportOrUpdate(TermInfoReportOrUpdateRequest request);
}
